package com.wlyuan.open.scanner.domain.finance.pay;

import com.alibaba.fastjson.JSONObject;
import com.wlyuan.open.scanner.domain.BaseDomain;
import com.wlyuan.open.scanner.domain.transport.Transport;
import com.wlyuan.open.scanner.utils.enums.bill.PayTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author lijing
 * @description
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class BillPay extends BaseDomain implements Serializable {

    private static final long serialVersionUID = 824847898732067108L;
    private Long id;
    @ApiModelProperty("所属对账单id")
    private Long billId;
    @ApiModelProperty("运单id")
    private Long waybillId;
    @ApiModelProperty("运单所属合单id")
    private Long combineId;
    @ApiModelProperty("运单编号/对账单号")
    private String no;
    @ApiModelProperty("收付款类型")
    private PayTypeEnum type;
    @ApiModelProperty("收付款金额")
    private BigDecimal money;

    @ApiModelProperty("上游")
    private BillPayUpStream upStream;
    @ApiModelProperty("下游")
    private BillPayDownStream downStream;

    @ApiModelProperty("对账单运单信息")
    private List<Transport> waybills;

    private Long createBy;
    private Long updateBy;

    @ApiModelProperty("扩展信息")
    private JSONObject echo;
}
